function L = Cholesky(A)
%  Datos
% A debe ser una matriz simetrica y definida positiva

% Salida
% L es una matriz triangular inferior con los elementos de la diagonal no nulos
%   y tal que A = LL'

n = length(A);
L(1, 1) = sqrt(A(1, 1));
for j=2:n
    L(j,1) = A(1,j)/L(1, 1);
end
for k = 2:n
    L(k, k) = sqrt(A(k,k) - L(k,1:k-1)*(L(k,1:k-1))');
    for j = k+1:n
        L(j,k) = (A(j,k)-L(j, 1:k-1)*(L(k, 1:k-1))')/L(k, k);
    end
end
    